<?php

namespace Common\Model;

use Think\Model;

class WorksAuthModel extends Model
{
	//定义前缀	用户申请查看作品表
    protected $tablePrefix = 'blog_';
	
	/**
	 * 查看用户是否已申请
	 * 用户id	$memberid
	 * 作品id 	$Worksid
	 */
	 public function query_blog_works_auth_bay($memberid,$Worksid){
	 	if(empty($memberid) ||  empty($Worksid)){
	 		return false;
	 	}
		$where=array('works_id'=>$Worksid,'apply_uid'=>$memberid);
		$order="create_time desc";
		$list=$this->where($where)->order($order)->select();
		// dump($this->getlastsql($list));
	 	//$list=$this->where(array('works_id'=>$Worksid,'apply_uid'=>$memberid,'apply_status'=>array('neq',-2)))->order('create_time desc')->find();
		if(empty($list)){
			return false;
		}
		
		return  $list;
	 }
	 
	/**
	 * 插入一条用户申请查看作品信息
	 * 插入数据集	$data
	 */
	 public function add_blog_works_auth_bay($data){
	 	if(empty($data)){
	 		return false;
	 	}
		$data['create_time']=time();
		if($this->create($data)){
		    $insertId = $this->add($data); // 写入数据到数据库 
		    if($insertId){
		        // 如果主键是自动增长型 成功后返回值就是最新插入的值
		        return $insertId;
		    }else{
		    	return false;
		    }
		}
	 }
	 
	 /**
	  * 获取所有用户的申请
	  * 作品用户id	$memberid 
	  * 作品id		$works_id
	  */
	  public function query_blog_works_auth_all($memberid,$works_id,$pageSize=10,$pageIndex){
	    
	  	$where=array();
	  	if((int)$works_id > 0){
	  		$where['works_id']=$works_id;
	  	}
	  
		$where['works_uid']=$memberid;
		$where['apply_status']=array('neq',-2);
	    $where['b.works_ischeck']=array('neq',3);
	    $where['b.is_delete' ]=1;
	   
		$count=$this->join('blog_works as b ')->where($where)->where('b.id=works_id')->count();
		
		$page = new \Think\Page($count, $pageSize);
		// dump($page);exit;
        if (1 || $count) {
            //dump($where);
            $_data = $this->join('blog_works as b ')->where($where)->where('b.id=works_id')->order('create_time desc')->limit($page->firstRow . ',' . $page->listRows)->field("blog_works_auth.*")->select();
            
			// dump($_data);exit;
        } else {
            $_data = array();
        }		
		
	    $data = array(
	        'tag' => empty($_data)?[]:$_data,
	        'pageCount' => intval(ceil($page->totalRows / $page->listRows)),
	        'pageIndex' => intval($page->parameter['p']),
	    );
				
		return $data;
		
	  	
	  }
	  
	  /**
	   * 获取一条作品权限申请
	   * 申请id  $works_auth_id
	   * 作品用户id	$memberid
	   */
	   function query_blog_works_auth_id_bay($works_auth_id,$works_uid){
	      
		 	if(empty($works_auth_id) ||  empty($works_uid)){
		 	   
		 		return false;
		 	}	
			$list=$this->where(array('id'=>$works_auth_id,'works_uid'=>$works_uid,'apply_status'=>array('neq',-2)))->find();  
			return $this->getLastSql();
			if(empty($list)){
				return false;
			}
			
			return  $list; 	
	   }
	   
	   /**
	    * 修改一条作品权限申请状态
	    * 申请id  $works_auth_id
	    * 状态	 $apply_status
	    */
	    function modify_blog_works_auth_bay_state($works_auth_id,$apply_status,$reason){
	    	if(!in_array($apply_status,array('2','-1','10'))){
				return false;
			}
			$data=array(
				'modify_time'=>time(),
				'apply_status'=> $apply_status,
                'reason'=>$reason
			);
			$works_auth_id=$this->where(array('id'=>$works_auth_id))->save($data);
			if(empty($works_auth_id)){
				return false;
			}
			
			return  $works_auth_id;
	    }
	 /**
	  * 获取某一个用户最新的申请数据
	  * 用户id	$memberid
	  * 作品id	$Worksid
	  */
	  function newest_blog_works_auth_bat($memberid,$Worksid){
	 	if(empty($memberid) ||  empty($Worksid)){
	 		return false;
	 	}
		$where=array('works_id'=>$Worksid,'apply_uid'=>$memberid);
		$order="create_time desc";
		$list=$this->where($where)->order($order)->find();	  	
		if(empty($list)){
			return false;
		}
		
		return  $list;
	  	
	  }
	  
	  /**
	   * 查看作者下作品是否还存在申请且权限为可以查看所有
	   * 作品id
	   * 申请用户id
	   */
	   function get_blog_works_auth_there_exist($works_uid,$apply_uid){
	   		return $this->where(array('apply_uid'=>$apply_uid,'works_uid'=>$works_uid,'apply_status'=>10))->find();
	   }
	 
	 
	 
	 
	 
	 

}